package objectoriented2;

class A {
    public A() {
        System.out.println("A的构造方法");
    }
}

class B extends A {
    public B() {
        System.out.println("B的构造方法");
    }
}

class C extends B {
    public C() {
        System.out.println("C的构造方法");
    }

}
//抽象类,不包含抽象方法
abstract  class Father {
  abstract   void show();
}
//子类继承抽象类，由于抽象类没有抽象方法
 class Son extends Father{
    String name;//包权限

    @Override
    void show() {

    }
}
interface Itf{
    //接口中所有成员都是public成员
    String name="qqq";//public权限
}

public class TestPlayer {
    public static void main(String[] args) {

        new Son();
//       Player player= new Player("tom");
//        System.out.println(player);//输出，实际上调用player对象的toString方法
//        System.out.println(player.toString());//输出，实际上调用player对象的toString方法,Object类的方法
        //new Object().toString();
        new Object().equals("");
        "".equals("");
        final int a=100;





//        new PersonPlayer("tom");//new子类对象，像调用父类的构造方法，传递一个参数
//        new C();
//        PersonPlayer personPlayer = new PersonPlayer("");
//        //子类继承父类之后，就会继承父类的属性和方法
//        //finger()方法是父类的方法
//        //finger()方法子类进行重写
//        //调用这个方法的对象，父类对象调用finger()方法，调用的是父类finger()方法
//        //子类对象调用finger()方法，子类重写之后的finger()方法
//        System.out.println(personPlayer.finger());//
    }
}
